using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls; 
using Nextel.Utils;
using System.Collections.Generic;


public partial class EstadoNuevo : PageController
{
    private String PAGINA_NUEVO = URLManager.URL_ESTADOS_NUEVO;
    private String PAGINA_BUSQUEDA = URLManager.URL_ESTADOS;

    protected override void initialize()
    {

        if (!Page.IsPostBack)
        {
            HidError.Value = "";
            btnGuardar.Text = IdiomaCultura.getMensaje(IdiomaCultura.WEB_GRABAR);
            hidMensaje.Value = Request.QueryString["mensaje"] == null ? "" : Request.QueryString["mensaje"];
            txtTipoActividad.Disabled = true;
            //lbTipoActividad.Text = IdiomaCultura.getMensaje(IdiomaCultura.WEB_TIPOACTIVIDAD);

            if (Request.QueryString["id"] != null)
            {
                subLlenarControl(false);

                hidPk.Value = Request.QueryString["id"];

                EstadoBean bean = DBActividad.getEstadoBeanPK(hidPk.Value);
                txtCodigo.Value = bean.codigo;
                txtNombre.Value = bean.nombre;
                txtOrden.Value = bean.orden.ToString();
                txtEtiqueta.Value = bean.etiqueta;
                txtTipoActividad.Value = bean.nombretipoactividad;
                cmbTipoActividad.SelectedValue = bean.codigotipoactividad;

                idFoto.Checked = (bean.flagfoto == AbstractBean.ACTIVO) ? true : false;
                idLista.Checked = (bean.flaglista == AbstractBean.ACTIVO) ? true : false;
                idInput.Checked = (bean.flagtexto == AbstractBean.ACTIVO) ? true : false;

                litTitulo.Text = IdiomaCultura.getMensajeEncodeHTML(IdiomaCultura.WEB_EDITARESTADO);

                txtCodigo.Disabled = true;
            }
            else
            {

                litTitulo.Text = IdiomaCultura.getMensajeEncodeHTML(IdiomaCultura.WEB_NUEVOESTADO);
                hidPk.Value = "0";
                subLlenarControl(true);

            }

            txtCodigo.Focus();

            cargarCombo();
        }

    }

    #region metodos


    private void subLlenarControl(Boolean pbNuevo)
    {
        UCManNuevo1.Descripcion = IdiomaCultura.getMensaje(IdiomaCultura.WEB_MANTENIMIENTOESTADOS);
        UCManNuevo1.Link = Request.ApplicationPath + PAGINA_BUSQUEDA;
        
        UCManNuevo1.Renderizar = true;

    }

    private void cargarCombo()
    {

        cmbTipoActividad.DataSource = DALBase.getGeneralBean(AbstractBean.ACTIVO, "USPW_ACTIVIDAD_S_TIPOACTIVIDADXFLAG");
        cmbTipoActividad.DataValueField = "CODIGO";
        cmbTipoActividad.DataTextField = "NOMBRE";

        try
        {
            cmbTipoActividad.DataBind();

        }
        catch (Exception) { }
    }

    #endregion


    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        EstadoBean bean = new EstadoBean();
        bean.id = hidPk.Value;
        bean.codigo = txtCodigo.Value.Trim().ToUpper();
        bean.nombre = txtNombre.Value.Trim().ToUpper();
        bean.codigotipoactividad = cmbTipoActividad.SelectedValue;
        bean.nombretipoactividad = cmbTipoActividad.SelectedItem.Text;
        try
        {
            bean.orden = Convert.ToInt32(txtOrden.Value);
        }
        catch 
        {
            HidError.Value = IdiomaCultura.getMensaje(IdiomaCultura.WEB_ORDEN_ERROR);
            return; 
        }

        if (bean.orden < 1)
        { HidError.Value =  IdiomaCultura.getMensaje(IdiomaCultura.WEB_ORDEN_ERROR); return; }

        bean.flagfoto = (idFoto.Checked) ? AbstractBean.ACTIVO : AbstractBean.DESACTIVO;
        bean.flaglista = (idLista.Checked) ? AbstractBean.ACTIVO : AbstractBean.DESACTIVO;
        bean.flagtexto = (idInput.Checked) ? AbstractBean.ACTIVO : AbstractBean.DESACTIVO;

        bean.flag = AbstractBean.ACTIVO;

        if (bean.flagtexto == AbstractBean.ACTIVO)
        {
            if (txtEtiqueta.Value.Trim() == String.Empty)
            {
                HidError.Value = IdiomaCultura.getMensaje(IdiomaCultura.WEB_ERROR_ETIQUETA);

                hidMensaje.Value = "";

                return;

                
            }
            else
                bean.etiqueta = txtEtiqueta.Value; 
          
        }
        else
            bean.etiqueta = "";

        
        try
        {
            //GRABA Y ACTUALIZA
            DBActividad.addEstadoBean(bean);

            Response.Redirect(Request.ApplicationPath + PAGINA_NUEVO + "?mensaje=" +
                IdiomaCultura.getMensajeEncodeHTML(IdiomaCultura.WEB_MENSAJE_EXITO));
        }
        catch (Exception ex)
        {

            if (IdiomaCultura.WEB_CODIGOREPETIDO.Equals(ex.Message))
            {
                HidError.Value = IdiomaCultura.getMensaje(ex.Message, txtCodigo.Value);
            }
            else
            {
                BaseLN.registrarLog("ERROR:" + ex.Message);
                HidError.Value = ex.Message;
            }
            hidMensaje.Value = "";
        }
    }
}
